package reflaction;

import java.lang.annotation.*;

/**
 * @author cyt
 * @create 2020-04-20 10:51
 */

// 测试元注解
@my1(value = "1", age = 2)
public class Test {
    @my1(age = 2)
    int age;
    @SuppressWarnings("all")
    @my1(value = "1", age = 2, id = 9)
    public void testmethod() {
        System.out.println(age);
    }
    public static void main(String[] args) {
        new Test().testmethod();
    }
}
// 标记运行时候的注解
@Retention(value = RetentionPolicy.RUNTIME)
// 标记产生文档
@Documented
// 标记作用的范围
@Target({ElementType.METHOD, ElementType.TYPE, ElementType.FIELD})
@interface my1 {
    // 使用 value的时候， 注解的参数可以直接写
    String value() default "";
    int age();
    // 可以设置默认值
    int id() default 1;
    // 数组类型
    String[] school() default {"洛阳师范学院", "北大"};
}
